<!doctype html>
[#escape x as (x)!?html]
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <title>${channel.title} - ${site.title}</title>
  <meta name="keywords" content="${channel.seoKeywords}">
  <meta name="description" content="${channel.seoDescription}">
  [#include 'inc_meta.html'/]
  [#include 'inc_css.html'/]
  [#include 'inc_js.html'/]
</head>
<body>
[#include 'inc_header.html'/]
<div class="bg-gray-200">
  <div class="container">
    <nav class="row" aria-label="breadcrumb">
      <ol class="col list-inline my-2">
        [#assign parent = channel.parent!channel/]
        <li class="list-inline-item"><a class="btn btn-sm [#if parent.id == channel.id]btn-primary[#else]btn-link[/#if]" href="${parent.url}">全部</a></li>
        [@ChannelList parentId=parent.id; list]
        [#list list as bean]
        <li class="list-inline-item"><a class="btn btn-sm [#if channel.id == bean.id]btn-primary[#else]btn-link[/#if]" href="${bean.url}">${bean.name}</a></li>
        [/#list]
        [/@ChannelList]
      </ol>
    </nav>
  </div>
</div>
<div class="container">
  <div class="row">
    <div class="col-lg-8 mt-2">
      [#assign customsQueryMap={}/]
      [#list channel.articleModel.fieldList?filter(field->['radio','checkbox','select','multipleSelect']?seqContains(field.type)) as field]
      <div class="py-1 border-bottom">
        [#assign param=field.code+'Key'/]
        <a href="${addParam(channel.url, channel.dynamicUrl, param)}" class="btn btn-sm[#if !Params[param]??] btn-secondary[#else] btn-link text-reset[/#if]">全部${field.name}</a>
        [@DictList typeId=field.dictTypeId; list]
        [#list list as dict]
        <a href="${addParam(channel.url, channel.dynamicUrl, param, dict.value)}" class="btn btn-sm [#if Params[param]! == dict.value]btn-secondary[#else]btn-link text-reset[/#if]">${dict.name}</a>
        [/#list]
        [/@DictList]
      </div>
      [#assign customsQueryMap=customsQueryMap + {'ArrayEQ_@articleExt-mainsJson$'+param+(field.dataType != 'string')?string('_Int',''): Params[param]!}/]
      [/#list]
      [@ArticlePage channelId=channel.id isIncludeSubChannel="true" Q_=customsQueryMap orderBy=channel.orderDesc?string("sticky_desc,order_desc","sticky_desc,order_asc"); pagedList]
      <ul class="list-unstyled">
        [#list pagedList.content as bean]
        <li class="mt-3 media position-relative pb-3 border-bottom">
          [#if bean.image??]<img src="${bean.image}" class="mr-3 img-thumbnail" width="48" height="48" alt="${bean.title}">[/#if]
          <div class="media-body">
            <p class="mt-0 mb-1">[@A bean=bean class="text-reset stretched-link"]${bean.title}[/@A]</p>
            <p class="small text-muted d-none d-sm-block mb-2">${substring(bean.description,80,'...')}</p>
            <div class="small text-muted mt-2 clearfix">
              <div class="float-left">
                <span>[#list bean.channel.paths as n][@A bean=n/][#if n_has_next] > [/#if][/#list]</span>
                <i class="ml-2 fas fa-download"></i> ${bean.downloads}
              </div>
              <div class="float-right"><i class="ml-2 far fa-clock"></i> ${format(bean.publishDate, 'yyyy-MM-dd')}</div>
            </div>
          </div>
        </li>
        [/#list]
      </ul>
      [#include 'inc_page.html'/]
      [/@ArticlePage]
    </div>
    <div class="col-sm-4 mt-3 px-4 d-none d-lg-block">
      <h5 class="border-bottom"><span class="border-primary cm-block-head-bottom">下载排行榜</span></h5>
      <div class="px-2 pb-2 mt-3">
        [@ArticleList channelId=channel.id isIncludeSubChannel='true' orderBy='@articleExt-downloads_desc' limit='10';list]
        [#list list as bean]
        <div class="mt-2 d-flex flex-row">
          <div><span class="badge [#if bean_index < 3]badge-primary[#else]badge-secondary[/#if]" style="width:26px;">${bean_index+1}</span></div>
          <div class="ml-2 flex-grow-1 text-truncate">[@A bean=bean class="text-reset"/]</div>
          <div class="text-muted">${bean.downloads}</div>
        </div>
        [/#list]
        [/@ArticleList]
      </div>
    </div>
  </div>
</div>
[#include 'inc_footer.html'/]
<script>axios.get('${api}/channel/view/${channel.id?c}');</script>
</body>
</html>
[/#escape]
